﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OAuth2.Provider.Service;

namespace OAuth2.Provider.Common
{
    public abstract class ContextProcessor<T> where T:class
    {
        protected readonly IServiceFactory ServiceFactory;

        protected ContextProcessor(IServiceFactory serviceFactory)
        {
            ServiceFactory = serviceFactory;
        }

        public abstract bool IsSatisfiedBy(T context);

        public abstract void Process(T context);

    }
}
